import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D # 显式导入Axes3D，确保版本兼容

# 使用 numpy 生成 X 和 Y 的数据
x = np.linspace(-5, 5, 100)  # 生成从 -5 到 5 的 100 个等间距的点
y = np.linspace(-5, 5, 100)  # 同样为 Y 轴生成相同范围的点

# 生成二维网格
X, Y = np.meshgrid(x, y)

# 定义 Z 轴数据，使用一个简单的函数 Z = f(X, Y)
Z = np.sin(np.sqrt(X**2 + Y**2))

# 创建 3D 图形
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

# 绘制 3D 曲面图
surf = ax.plot_surface(X, Y, Z, cmap='viridis')

# 为图表添加颜色条
fig.colorbar(surf)

# 设置坐标轴标签
ax.set_xlabel('X axis')
ax.set_ylabel('Y axis')
ax.set_zlabel('Z axis')

# 显示图形
plt.show()

